# This module contains the core RediPress functionality
module RediPress
  # This will use the ruby 'require' method to require
  # all files bundled with this gem.
  #
  # Example:
  #   >> RediPress.require_tree!
  #   => nil
  #
  def self.require_tree!
    require 'redipress/variables'
    require 'redipress/errors'
    require 'redipress/configuration'
    require 'redipress/configuration/base'
    require 'redipress/parameter'
    require 'redipress/simple_option'
    require 'redipress/ssh'

    nil
  end

  # Returns a boolean value of whether or not
  # we are running by the CLI.
  #
  def self.cli?
    defined?(REDIPRESS_CLI) && true == REDIPRESS_CLI
  end
end

RediPress.require_tree!
